/*
 * JVM_Keys.c
 *
 *  Created on: 23.02.2011
 *      Author: Tavin
 */


#include <stdint.h>

#include "board.h"
#include "boolean.h"
#include "UIKeys.h"

#include "JVM_Keys.h"

#include "JVM_StatusCodes.h"
#include "JVM_Opcode.h"

/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_LUp									Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_LUp()
{
		JVM_Opcode_pushIntValue(UIKeys_keyLUp());

		return(STCD_OK);
}

/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_LDown								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_LDown()
{
		JVM_Opcode_pushIntValue(UIKeys_keyLDown());

		return(STCD_OK);
}

/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_LLeft								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_LLeft()
{
	JVM_Opcode_pushIntValue(UIKeys_keyLLeft());

	return(STCD_OK);
}
/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_LRight								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_LRight()
{
	JVM_Opcode_pushIntValue(UIKeys_keyLRight());

	return(STCD_OK);
}


/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_RUp									Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_RUp()
{
		JVM_Opcode_pushIntValue(UIKeys_keyRUp());

		return(STCD_OK);
}

/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_RDown								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_RDown()
{
		JVM_Opcode_pushIntValue(UIKeys_keyRDown());

		return(STCD_OK);
}
/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_RLeft								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_RLeft()
{
	JVM_Opcode_pushIntValue(UIKeys_keyRLeft());

	return(STCD_OK);
}
/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_RRight								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_RRight()
{
	JVM_Opcode_pushIntValue(UIKeys_keyRRight());

	return(STCD_OK);
}

/****************************************************************************************/
/*																						*/
/*	Function : JVM_Keys_keyPressed							Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.23			Status : Working   			*/
/*																						*/
/****************************************************************************************/
uint16_t JVM_Keys_keyPressed()
{
	uint8_t key;
	int32_t value;

	key=JVM_StackFrame_popIntValue(JVM_Opcode_getActiveStackFrame());
	value=UIKeys_keyPressed(key);

	JVM_Opcode_pushIntValue(value);

	return(STCD_OK);
}
